Skip to content

Porting Duplicate MAC Test to Origin - #31478

Open
shreyasbe wants to merge 8 commits into
openshift:mainfrom
shreyasbe:DS_openshift_origin_eip_duplicate_mac_issue_v1
Open

Porting Duplicate MAC Test to Origin#31478
shreyasbe wants to merge 8 commits into
openshift:mainfrom
shreyasbe:DS_openshift_origin_eip_duplicate_mac_issue_v1

Conversation

@shreyasbe

@shreyasbe shreyasbe commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Tests
    • Added extended coverage for EgressIP migration and failover on bare-metal clusters.
    • Added validation for MAC address resolution, duplicate responses, nftables cleanup, and pod recovery during node disruption.
    • Added support for allocating and validating bare-metal EgressIPs across supported network environments.
    • Expanded validation across supported cloud platforms while safely skipping environments where bare-metal scenarios are unavailable.
    • Added cleanup verification to ensure temporary networking resources and configuration are removed after testing.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: automatic mode

@openshift-ci
openshift-ci Bot requested review from jluhrsen and tssurya August 3, 2026 15:44
@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: shreyasbe
Once this PR has been reviewed and has the lgtm label, please assign danwinship for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

The change adds a serial bare-metal EgressIP failover test. It allocates an EgressIP, monitors migration during ovnkube-node deletion, checks MAC responses and nftables cleanup, verifies pod recovery, and removes test resources.

Changes

Bare-metal EgressIP failover validation

Layer / File(s) Summary
EgressIP allocation and MAC probes
test/extended/networking/egressip_helpers.go, test/extended/networking/egressip.go
Added bare-metal EgressIP allocation, node interface MAC lookup, and duplicate-MAC detection with arping or ndisc6.
Failover execution and migration
test/extended/networking/egressip.go
Added platform checks, worker-node discovery, EgressIP assignment, nftables monitoring, pod deletion, and migration checks.
Post-failover validation and cleanup
test/extended/networking/egressip.go
Added post-migration MAC checks, nftables cleanup checks, pod recovery waits, and resource cleanup.

Estimated code review effort: 4 (Complex) | ~45 minutes

Suggested reviewers: jluhrsen, tssurya

Sequence Diagram(s)

sequenceDiagram
  participant EgressIPTest
  participant OVNKubernetesNode
  participant EgressIP
  participant NetworkProbe
  participant Nftables
  EgressIPTest->>EgressIP: assign bare-metal EgressIP
  EgressIPTest->>OVNKubernetesNode: delete egress node ovnkube-node pod
  OVNKubernetesNode-->>EgressIP: migrate EgressIP
  EgressIPTest->>NetworkProbe: probe EgressIP MAC responses
  NetworkProbe-->>EgressIPTest: return observed MACs
  EgressIPTest->>Nftables: verify table cleanup
  EgressIPTest->>OVNKubernetesNode: verify pod recovery
Loading

Caution

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

  • Ignore

❌ Failed checks (1 error, 2 warnings)

Check name Status Explanation Resolution
No-Sensitive-Data-In-Logs ❌ Error Added logs expose runtime EgressIP addresses, node and pod names, interface/MAC data, and raw probe output via framework.Logf and failure messages (egressip.go:672-783; helpers:1786-1804). Remove or redact node, pod, IP, interface, and MAC values from logs and diagnostics. Do not log raw arping/ndisc6 output; use stable labels or counts instead.
Test Structure And Quality ⚠️ Warning The test has 14 assertions without meaningful messages (73% of 19 assertions lack descriptions), violating requirement 4. Additionally, the single It block tests 16 sequential behaviors (setup, MAC... Add message strings to all Expect calls (e.g., second parameter to explain what failed). Break the monolithic test into smaller focused tests: allocation+verification, migration, duplicate MAC detection, and cleanup as separate test cases.
Single Node Openshift (Sno) Test Compatibility ⚠️ Warning The new [Serial] test requires at least three distinct worker nodes, uses probe/egress/failover nodes, and has no SNO label or topology skip guard. Add [Skipped:SingleReplicaTopology], or skip when exutil.IsSingleNode() or ControlPlaneTopology is SingleReplicaTopologyMode; otherwise verify with the serial SNO CI job.
✅ Passed checks (12 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes porting the duplicate MAC test to OpenShift Origin, which matches the main changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed All Ginkgo declarations use quoted literal titles. The added title is static and contains no pod, node, namespace, IP, timestamp, UUID, or generated value.
Microshift Test Compatibility ✅ Passed The new test is wrapped in a Describe tagged [apigroup:operator.openshift.io], an unavailable MicroShift API group, so MicroShift CI skips it automatically.
Topology-Aware Scheduling Compatibility ✅ Passed The PR changes only extended EgressIP tests and helpers; it adds no production manifests, operators, or controllers. The test gates bare-metal use and skips clusters with fewer than 3 worker nodes.
Ote Binary Stdout Contract ✅ Passed Changed files have no fmt/log/klog stdout writes; framework.Logf targets GinkgoWriter, and new logging runs only in test hooks or It/helper execution.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The new EgressIP tests properly detect cluster IP family via GetIPAddressFamily() and adapt accordingly. IPv4/IPv6 selection uses conditionals: "192.0.2.10" for IPv4, "2001:db8::10" for IPv6. Disco...
No-Weak-Crypto ✅ Passed The PR adds no weak-crypto algorithms, crypto imports, custom crypto, or secret/token comparisons; MAC equality checks compare network addresses only.
Container-Privileges ✅ Passed The PR adds test files only. DaemonSets use HostNetwork and elevated capabilities for legitimate packet-sniffing tests with documented justification; no flagged fields (privileged: true, hostPID, h...
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@openshift-ci openshift-ci Bot added the ready-for-human-review Indicates a PR has been reviewed by automated tools and is ready for human review label Aug 3, 2026
Signed-off-by: Shreyas Be <52690686+shreyasbe@users.noreply.github.com>
@shreyasbe
shreyasbe force-pushed the DS_openshift_origin_eip_duplicate_mac_issue_v1 branch from 2516552 to 60733c7 Compare August 3, 2026 18:19

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

🧹 Nitpick comments (2)
test/extended/networking/egressip.go (2)

639-642: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win

Restore only the labels that this test added.

The AfterEach removes k8s.ovn.org/egress-assignable from every worker node. If a node carried that label before this test ran, the test leaves the cluster in a different state and can affect later specs. Track the nodes that the test labels, and remove the label only from those nodes.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@test/extended/networking/egressip.go` around lines 639 - 642, Update the
egress-label cleanup in the test’s AfterEach block to track which worker nodes
were labeled by this test and remove k8s.ovn.org/egress-assignable only from
those nodes. Preserve pre-existing labels on all other nodes, using the existing
worker-node setup and labeling flow to maintain the tracked-node set.

738-762: 🩺 Stability & Availability | 🔵 Trivial | 🏗️ Heavy lift

oc debug polling is too slow to observe a transient nftables chain.

The ticker fires every 200 ms, but each iteration starts a new debug pod on the node. Pod creation and scheduling normally take several seconds. The effective probe interval is therefore seconds, not 200 ms. The egressip-drop chain exists only during the shutdown window of ovnkube-node, so the check can miss it and the test becomes flaky.

Consider one long-lived debug session that loops inside the node shell, or a privileged host-network pod that is created before the deletion and polls locally.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@test/extended/networking/egressip.go` around lines 738 - 762, Replace the
per-tick oc.AsAdmin().Run("debug") invocation in the nftChainFound polling
goroutine with a long-lived node debug session established before polling, and
execute a shell loop inside that session to repeatedly check nftChainCheckCmd
locally at the required interval. Ensure the session remains active through
ovnkube-node termination, signals nftChainFound when the command detects
“FOUND,” and still exits cleanly via stopChecking with proper resource cleanup.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@test/extended/networking/egressip_helpers.go`:
- Around line 1873-1880: Update findNodeEgressIPsBaremetal around the ipnetStr
selection and getFirstFreeIPs call to prevent IPv6 CIDRs from reaching unbounded
address enumeration. Restrict this bare-metal allocation path to IPv4, or
validate the selected CIDR’s prefix length before calling getFirstFreeIPs and
return a clear error for unsupported IPv6 ranges.
- Around line 1839-1846: Handle the error returned by listEgressIPs in the
surrounding helper instead of ignoring it: return or propagate the error
immediately when it is non-nil, and only iterate over egressipList.Items to
populate reservedIPs after a successful call.
- Around line 1790-1824: Add a preflight check before the retry loop that
verifies the selected arping or ndisc6 binary is available in the probe pod,
using the existing adminExecInPod execution context. If the check fails, return
immediately with an error explicitly naming the missing binary; only enter the
MAC-probing loop after presence is confirmed.

In `@test/extended/networking/egressip.go`:
- Around line 771-780: Update the shutdown verification around the nftChainFound
select to close stopChecking exactly once: remove the timeout-branch close and
register a defer immediately after starting the checker goroutine to close the
channel. Preserve the existing timeout failure behavior and successful
verification flow.
- Around line 838-846: Update the nftables cleanup verification around
adminExecInPod so it always validates the command output, including when the
command returns a non-zero error because the table is absent. Retain only the
“No such file” matcher, and fail explicitly for unexpected adminExecInPod errors
instead of logging success unconditionally.
- Around line 694-705: Update the networking test flow around
findBridgePhysicalInterface to resolve and retain separate physical interface
names for egressNode1Name, egressNode2Name, and the probe node. Use each node’s
matching interface for getNodeInterfaceMAC, the discovery command, and
checkForDuplicateMACOnNode instead of reusing egressNode1Name’s interface.

---

Nitpick comments:
In `@test/extended/networking/egressip.go`:
- Around line 639-642: Update the egress-label cleanup in the test’s AfterEach
block to track which worker nodes were labeled by this test and remove
k8s.ovn.org/egress-assignable only from those nodes. Preserve pre-existing
labels on all other nodes, using the existing worker-node setup and labeling
flow to maintain the tracked-node set.
- Around line 738-762: Replace the per-tick oc.AsAdmin().Run("debug") invocation
in the nftChainFound polling goroutine with a long-lived node debug session
established before polling, and execute a shell loop inside that session to
repeatedly check nftChainCheckCmd locally at the required interval. Ensure the
session remains active through ovnkube-node termination, signals nftChainFound
when the command detects “FOUND,” and still exits cleanly via stopChecking with
proper resource cleanup.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: e8d13884-9dab-49b5-8305-d877c36cc8dd

📥 Commits

Reviewing files that changed from the base of the PR and between 579e95a and 2516552.

📒 Files selected for processing (2)
  • test/extended/networking/egressip.go
  • test/extended/networking/egressip_helpers.go

Comment thread test/extended/networking/egressip_helpers.go
Comment thread test/extended/networking/egressip_helpers.go
Comment thread test/extended/networking/egressip_helpers.go
Comment thread test/extended/networking/egressip.go Outdated
Comment thread test/extended/networking/egressip.go Outdated
Comment thread test/extended/networking/egressip.go Outdated
@shreyasbe shreyasbe changed the title Empty Commit Porting Duplicate MAC Test to Origin Aug 3, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@test/extended/networking/egressip.go`:
- Around line 664-667: In the EgressIP validation flow after
findNodeEgressIPsBaremetal returns, assert that nodeEgressIPMap[egressNode1Name]
contains at least one address before indexing element 0. Keep the existing error
assertion and logging behavior, but report a clear test failure when no EgressIP
was allocated instead of allowing an index-out-of-range panic.
- Around line 593-607: Update the platform check in the egress IP test to read
the type from infra.Status.PlatformStatus.Type instead of
infra.Spec.PlatformSpec.Type. Guard against a nil PlatformStatus and preserve
the existing cloud-platform skip behavior when the status type matches an
unsupported platform.
- Around line 733-764: Update the nftables monitoring goroutine around
nftChainCheckCmd to use a separate CLI instance from the main test path,
preventing concurrent mutation of shared oc command state during Output
execution. Also increase the ticker interval beyond 200ms to allow each oc debug
invocation to complete without queuing repeated commands and adding unnecessary
cluster load.
- Around line 711-726: Replace the isIPv6-based branching in the discovery and
duplicate-MAC validation flow with a family check derived from
net.ParseIP(egressIPStr).To4() == nil. Use that result to select the IPv6 ndisc6
command and regex for IPv6 allocated addresses, while preserving the arping path
for IPv4 addresses, including dual-stack clusters.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: 56378f26-947d-44f6-bb53-ee831699ca04

📥 Commits

Reviewing files that changed from the base of the PR and between 2516552 and 60733c7.

📒 Files selected for processing (2)
  • test/extended/networking/egressip.go
  • test/extended/networking/egressip_helpers.go
🚧 Files skipped from review as they are similar to previous changes (1)
  • test/extended/networking/egressip_helpers.go

Comment thread test/extended/networking/egressip.go Outdated
Comment thread test/extended/networking/egressip.go Outdated
Comment thread test/extended/networking/egressip.go
Comment thread test/extended/networking/egressip.go
@shreyasbe

Copy link
Copy Markdown
Contributor Author

/testwith openshift/ovn-kubernetes/main/e2e-metal-ipi-serial-ovn-ipv4 openshift/ovn-kubernetes#3357

@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

@shreyasbe, testwith: could not generate prow job. ERROR:

BUG: test 'e2e-metal-ipi-serial-ovn-ipv4' not found in injected config

@shreyasbe

Copy link
Copy Markdown
Contributor Author

/testwith openshift/ovn-kubernetes/main/e2e-metal-ipi-serial-ovn-ipv4 openshift/ovn-kubernetes#3357
/testwith openshift/ovn-kubernetes/main/e2e-metal-ipi-ovn-dualstack openshift/ovn-kubernetes#3357
/testwith openshift/ovn-kubernetes/main/e2e-metal-ipi-ovn-dualstack-bgp openshift/ovn-kubernetes#3357
/testwith openshift/ovn-kubernetes/main/e2e-metal-ipi-ovn-dualstack-bgp-local-gw openshift/ovn-kubernetes#3357
/testwith openshift/ovn-kubernetes/main/e2e-metal-ipi-ovn-ipv6 openshift/ovn-kubernetes#3357

@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

@shreyasbe, testwith: could not generate prow job. ERROR:

BUG: test 'e2e-metal-ipi-serial-ovn-ipv4' not found in injected config

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling required tests:
/test e2e-aws-csi
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-microshift
/test e2e-aws-ovn-microshift-serial
/test e2e-aws-ovn-serial-1of2
/test e2e-aws-ovn-serial-2of2
/test e2e-gcp-csi
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upgrade
/test e2e-metal-ipi-ovn-ipv6
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi

@shreyasbe

Copy link
Copy Markdown
Contributor Author

/testwith openshift/ovn-kubernetes/main/e2e-metal-ipi-ovn-dualstack openshift/ovn-kubernetes#3357

@shreyasbe

Copy link
Copy Markdown
Contributor Author

/testwith openshift/ovn-kubernetes/main/e2e-metal-ipi-ovn-ipv4 openshift/ovn-kubernetes#3357

@shreyasbe

Copy link
Copy Markdown
Contributor Author

/retest e2e-gcp-ovn

@shreyasbe

Copy link
Copy Markdown
Contributor Author

/retest e2e-metal-ipi-ovn-ipv6

@shreyasbe

Copy link
Copy Markdown
Contributor Author

/test e2e-gcp-ovn
/test e2e-metal-ipi-ovn-ipv6

@shreyasbe

Copy link
Copy Markdown
Contributor Author

/test e2e-gcp-ovn

@arghosh93 arghosh93 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have not yet checked in detail. At the moment I have two general comment about the test. I would also request you to address coderabbit comments if those matters. Otherwise you can add your argument and cose those conversations if coderabbit agrees.

<-goroutineReady
framework.Logf("Nftables chain monitoring goroutine started")

g.By("11. Deleting ovnkube-node pod on egress node 1 to trigger nftables rules and EgressIP migration")

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this enough to cause egressip reassignment? otherwise the test will become flaky.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, Pod Deletion Reliably Triggers EgressIP Reassignment.

Comment thread test/extended/networking/egressip.go Outdated
}) // end testing to external targets
})

var _ = g.Describe("[sig-network][Feature:EgressIP][apigroup:operator.openshift.io] EgressIP duplicate MAC prevention", func() {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need a separate describe block. Please integrate with the existing one.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed: 5a2439c

@shreyasbe

Copy link
Copy Markdown
Contributor Author

/testwith openshift/ovn-kubernetes/main/e2e-metal-ipi-serial-ovn-ipv6 openshift/ovn-kubernetes#3357

@openshift-ci

openshift-ci Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

@shreyasbe, testwith: could not generate prow job. ERROR:

BUG: test 'e2e-metal-ipi-serial-ovn-ipv6' not found in injected config

@shreyasbe

Copy link
Copy Markdown
Contributor Author

/test e2e-metal-ipi-serial-ovn-ipv6

…fra.Status.PlatformStatus.Type with a nil PlatformStatus guard

Signed-off-by: Shreyas Be <52690686+shreyasbe@users.noreply.github.com>
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling required tests:
/test e2e-aws-csi
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-microshift
/test e2e-aws-ovn-microshift-serial
/test e2e-aws-ovn-serial-1of2
/test e2e-aws-ovn-serial-2of2
/test e2e-gcp-csi
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upgrade
/test e2e-metal-ipi-ovn-ipv6
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi

…dexing

Signed-off-by: Shreyas Be <52690686+shreyasbe@users.noreply.github.com>
…er node

Signed-off-by: Shreyas Be <52690686+shreyasbe@users.noreply.github.com>
… allocated EgressIP family

Signed-off-by: Shreyas Be <52690686+shreyasbe@users.noreply.github.com>
… to 2s

Signed-off-by: Shreyas Be <52690686+shreyasbe@users.noreply.github.com>
…flight, error handling, and IPv6 guard

Signed-off-by: Shreyas Be <52690686+shreyasbe@users.noreply.github.com>
Signed-off-by: Shreyas Be <52690686+shreyasbe@users.noreply.github.com>
@openshift-ci

openshift-ci Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

@shreyasbe: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-aws-ovn-fips 35c2888 link true /test e2e-aws-ovn-fips

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@shreyasbe

Copy link
Copy Markdown
Contributor Author

/testwith openshift/ovn-kubernetes/main/e2e-metal-ipi-ovn-ipv4 openshift/ovn-kubernetes#3357
/testwith openshift/ovn-kubernetes/main/e2e-metal-ipi-ovn-dualstack openshift/ovn-kubernetes#3357
/testwith openshift/ovn-kubernetes/main/e2e-metal-ipi-ovn-dualstack-bgp openshift/ovn-kubernetes#3357
/testwith openshift/ovn-kubernetes/main/e2e-metal-ipi-ovn-dualstack-bgp-local-gw openshift/ovn-kubernetes#3357
/testwith openshift/ovn-kubernetes/main/e2e-metal-ipi-ovn-ipv6 openshift/ovn-kubernetes#3357

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-human-review Indicates a PR has been reviewed by automated tools and is ready for human review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants